/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Navegadores.java
 *
 * Created on 24/12/2012, 16:57:44
 */
package inovacao.gui;

import inovacao.dao.BairroDAO;
import inovacao.dao.CidadeDAO;
import inovacao.dao.ClienteDAO;
import inovacao.dao.GenericDAO;
import inovacao.entidades.Bairro;
import inovacao.entidades.Cidade;
import inovacao.entidades.Cliente;
import inovacao.interfaces.MasterForm;
import inovacao.modelos.CustomizadoTextField;
import inovacao.modelos.PagingModel;
import inovacao.servicos.BairroServico;
import inovacao.servicos.CidadeServico;
import inovacao.servicos.ClienteServico;
import java.awt.Component;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Giovani
 */
public class Navegadores extends javax.swing.JPanel {

    private JTable jTable;
    private MasterForm masterForm;

    /** Creates new form Navegadores */
    public Navegadores() {
        initComponents();
        desabilitaHabilitaBotoes(1, 1, 0, 0, 1, 1);
        //jButtonPesquisar.setVisible(false);
    }

    public Navegadores(JTable jTable, MasterForm masterForm) {
        initComponents();
        this.jTable = jTable;
        this.masterForm = masterForm;
        desabilitaHabilitaBotoes(1, 1, 0, 0, 1, 1);
        jButtonPesquisar.setVisible(false);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jButtonPrimeiro = new javax.swing.JButton();
        jButtonProximo = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jButtonUltimo = new javax.swing.JButton();
        jButtonNovo = new javax.swing.JButton();
        jButtonEditar = new javax.swing.JButton();
        jButtonExcluir = new javax.swing.JButton();
        jButtonPesquisar = new javax.swing.JButton();
        jButtonGravar = new javax.swing.JButton();
        jButtonCancelar = new javax.swing.JButton();

        jButtonPrimeiro.setIcon(new javax.swing.ImageIcon(getClass().getResource("/META-INF/imagens/38.png"))); // NOI18N
        jButtonPrimeiro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonPrimeiroActionPerformed(evt);
            }
        });

        jButtonProximo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/META-INF/imagens/31.png"))); // NOI18N
        jButtonProximo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonProximoActionPerformed(evt);
            }
        });

        jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/META-INF/imagens/32.png"))); // NOI18N
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        jButtonUltimo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/META-INF/imagens/37.png"))); // NOI18N
        jButtonUltimo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonUltimoActionPerformed(evt);
            }
        });

        jButtonNovo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/META-INF/imagens/21.png"))); // NOI18N
        jButtonNovo.setMnemonic('N');
        jButtonNovo.setText("Novo");
        jButtonNovo.setToolTipText("Insere novo registro");
        jButtonNovo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonNovoActionPerformed(evt);
            }
        });

        jButtonEditar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/META-INF/imagens/18.png"))); // NOI18N
        jButtonEditar.setMnemonic('E');
        jButtonEditar.setText("Editar");
        jButtonEditar.setToolTipText("Editar o registro selecionado");
        jButtonEditar.setMaximumSize(new java.awt.Dimension(65, 23));
        jButtonEditar.setMinimumSize(new java.awt.Dimension(65, 23));
        jButtonEditar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonEditarActionPerformed(evt);
            }
        });

        jButtonExcluir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/META-INF/imagens/01.png"))); // NOI18N
        jButtonExcluir.setMnemonic('x');
        jButtonExcluir.setText("Excluir");
        jButtonExcluir.setToolTipText("Remove registro");
        jButtonExcluir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonExcluirActionPerformed(evt);
            }
        });

        jButtonPesquisar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/META-INF/imagens/49.png"))); // NOI18N
        jButtonPesquisar.setMnemonic('P');
        jButtonPesquisar.setText("Pesquisar");
        jButtonPesquisar.setToolTipText("Localiza registros");

        jButtonGravar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/META-INF/imagens/46.png"))); // NOI18N
        jButtonGravar.setMnemonic('G');
        jButtonGravar.setText("Gravar");
        jButtonGravar.setToolTipText("Salva os dados do registro");
        jButtonGravar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonGravarActionPerformed(evt);
            }
        });

        jButtonCancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/META-INF/imagens/18_1.png"))); // NOI18N
        jButtonCancelar.setMnemonic('C');
        jButtonCancelar.setText("Cancelar");
        jButtonCancelar.setToolTipText("Cancela a ação");
        jButtonCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonCancelarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jButtonPrimeiro)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton3)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButtonProximo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButtonUltimo)
                .addGap(2, 2, 2)
                .addComponent(jButtonNovo, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(2, 2, 2)
                .addComponent(jButtonEditar, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButtonGravar, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButtonCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButtonExcluir, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButtonPesquisar))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jButtonPrimeiro)
                .addComponent(jButton3)
                .addComponent(jButtonProximo)
                .addComponent(jButtonUltimo)
                .addComponent(jButtonNovo)
                .addComponent(jButtonEditar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jButtonGravar)
                .addComponent(jButtonCancelar)
                .addComponent(jButtonExcluir)
                .addComponent(jButtonPesquisar, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
    }// </editor-fold>//GEN-END:initComponents

private void jButtonPrimeiroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonPrimeiroActionPerformed


    // TODO add your handling code here:
    if (this.jTable.getRowCount() > 0) {
        this.jTable.setColumnSelectionInterval(0, this.jTable.getColumnCount() - 1);
        this.jTable.setRowSelectionInterval(0, 0);
        ((GridDetalhe) this.jTable).scrollToVisible(this.jTable, 0, 0);
    }


}//GEN-LAST:event_jButtonPrimeiroActionPerformed

    public void nextRegistro() {
        if (this.jTable.getSelectedRow() < this.jTable.getRowCount() - 1) {
            //    this.jTable.setColumnSelectionInterval(0, this.jTable.getColumnCount() - 1);
            this.jTable.setRowSelectionInterval(this.jTable.getSelectedRow() + 1, this.jTable.getSelectedRow() + 1);
            ((GridDetalhe) this.jTable).scrollToVisible(this.jTable, this.jTable.getSelectedRow() + 1, this.jTable.getSelectedRow() + 1);
        }
    }
private void jButtonProximoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonProximoActionPerformed
// TODO add your handling code here:
    nextRegistro();
}//GEN-LAST:event_jButtonProximoActionPerformed

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
// TODO add your handling code here:
    if (this.jTable.getSelectedRow() > 0) {
        this.jTable.setColumnSelectionInterval(0, this.jTable.getColumnCount() - 1);
        this.jTable.setRowSelectionInterval(this.jTable.getSelectedRow() - 1, this.jTable.getSelectedRow() - 1);
        ((GridDetalhe) this.jTable).scrollToVisible(this.jTable, this.jTable.getSelectedRow() - 1, this.jTable.getSelectedRow() - 1);
    }
    //}
}//GEN-LAST:event_jButton3ActionPerformed

private void jButtonUltimoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonUltimoActionPerformed
// TODO add your handling code here:
    if (this.jTable.getRowCount() > 0) {
        this.jTable.setColumnSelectionInterval(0, this.jTable.getColumnCount() - 1);
        this.jTable.setRowSelectionInterval(this.jTable.getRowCount() - 1, this.jTable.getRowCount() - 1);
        ((GridDetalhe) this.jTable).scrollToVisible(this.jTable, this.jTable.getRowCount() - 1, this.jTable.getRowCount() - 1);
    }
}//GEN-LAST:event_jButtonUltimoActionPerformed

private void jButtonGravarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonGravarActionPerformed

    if (this.masterForm instanceof MasterFormCidade) {
        gravaCidade();
    }
    if (this.masterForm instanceof MasterFormBairro) {
        gravaBairro();
    }
    if (this.masterForm instanceof MasterFormCliente) {
        gravaCliente();
    }
}//GEN-LAST:event_jButtonGravarActionPerformed

    public void gravaCidade() {
        ArrayList<Component> componentes = this.masterForm.allComponentes();

        Cidade cidade = new Cidade();
        cidade.setDescricao(((CustomizadoTextField) componentes.get(1)).getText());
        CidadeServico ps = new CidadeServico();

        GenericDAO<Cidade> genericCidade = new GenericDAO<Cidade>();

        if (!((JTextField) componentes.get(0)).getText().equals("")) {
            cidade.setIdcidade(Integer.parseInt(((CustomizadoTextField) componentes.get(0)).getText()));
            genericCidade.atualizar(cidade);
            JOptionPane.showMessageDialog(PanelCidade.getInstance(), "Registro atualizado com sucesso", "Novo", JOptionPane.INFORMATION_MESSAGE);
        } else {
            if (ps.cadastrar(cidade)) {
                JOptionPane.showMessageDialog(PanelCidade.getInstance(), "Registro inserido com sucesso", "Novo", JOptionPane.INFORMATION_MESSAGE);
            } else {
                JOptionPane.showMessageDialog(PanelCidade.getInstance(), "Erro na inserção do registro", "Erro", JOptionPane.ERROR_MESSAGE);
            }
        }

        CidadeDAO cidadeDAO = new CidadeDAO();

        int selectedRow = this.jTable.getSelectedRow();

        ((PagingModel) jTable.getModel()).getDataVector().removeAllElements();
        ((PagingModel) jTable.getModel()).fireTableDataChanged();
       
        for (Cidade cidades : cidadeDAO.findAll()) {
            ((PagingModel) jTable.getModel()).addRow(new Object[]{"" + cidades.getIdcidade() + "", "" + cidades.getDescricao() + ""});
        }

        ((PagingModel) jTable.getModel()).fireTableDataChanged();
        this.jTable.setRowSelectionInterval(selectedRow, selectedRow);
        ((GridDetalhe) this.jTable).scrollToVisible(this.jTable, selectedRow, selectedRow);

    }

    public void gravaBairro() {
        ArrayList<Component> componentes = this.masterForm.allComponentes();

        Bairro bairro = new Bairro();
        bairro.setDescricao(((CustomizadoTextField) componentes.get(1)).getText());
        bairro.setIdcidade(((Cidade) ((JComboBox) componentes.get(2)).getSelectedItem()));
        BairroServico ps = new BairroServico();

        GenericDAO<Bairro> genericBairro = new GenericDAO<Bairro>();

        if (!((JTextField) componentes.get(0)).getText().equals("")) {
            bairro.setIdbairro(Integer.parseInt(((CustomizadoTextField) componentes.get(0)).getText()));
            genericBairro.atualizar(bairro);
            JOptionPane.showMessageDialog(PanelBairro.getInstance(), "Registro atualizado com sucesso", "Novo", JOptionPane.INFORMATION_MESSAGE);
        } else {
            if (ps.cadastrar(bairro)) {
                JOptionPane.showMessageDialog(PanelBairro.getInstance(), "Registro inserido com sucesso", "Novo", JOptionPane.INFORMATION_MESSAGE);
            } else {
                JOptionPane.showMessageDialog(PanelBairro.getInstance(), "Erro na inserção do registro", "Erro", JOptionPane.ERROR_MESSAGE);
            }
        }

        BairroDAO bairroDAO = new BairroDAO();
        int selectedRow = this.jTable.getSelectedRow();

        ((PagingModel) jTable.getModel()).getDataVector().removeAllElements();
        ((PagingModel) jTable.getModel()).fireTableDataChanged();

        for (Bairro bairros : bairroDAO.findAll()) {
            ((PagingModel) jTable.getModel()).addRow(new Object[]{"" + bairros.getIdbairro() + "",
                        "" + bairros.getDescricao() + "",
                        bairros.getIdcidade()});
        }

        ((PagingModel) jTable.getModel()).fireTableDataChanged();
        this.jTable.setRowSelectionInterval(selectedRow, selectedRow);
        ((GridDetalhe) this.jTable).scrollToVisible(this.jTable, selectedRow, selectedRow);

    }

    public void gravaCliente() {
        ArrayList<Component> componentes = this.masterForm.allComponentes();

        Cliente cliente = new Cliente();
        cliente.setNome(((CustomizadoTextField) componentes.get(1)).getText());
        cliente.setIdbairro(((Bairro) ((JComboBox) componentes.get(2)).getSelectedItem()));
        cliente.setIdcidade(((Cidade) ((JComboBox) componentes.get(3)).getSelectedItem()));
        String saldo = ((CustomizadoTextField) componentes.get(4)).getText();
      

        try {
            float saldoFinal = Float.parseFloat(saldo);
            cliente.setSaldoDevedor(saldoFinal);
            ClienteServico ps = new ClienteServico();

            GenericDAO<Cliente> genericCliente = new GenericDAO<Cliente>();

            if (!((JTextField) componentes.get(0)).getText().equals("")) {
                cliente.setIdcliente(Integer.parseInt(((CustomizadoTextField) componentes.get(0)).getText()));
                genericCliente.atualizar(cliente);
                JOptionPane.showMessageDialog(PanelCliente.getInstance(), "Registro atualizado com sucesso", "Novo", JOptionPane.INFORMATION_MESSAGE);
            } else {
                if (ps.cadastrar(cliente)) {
                    JOptionPane.showMessageDialog(PanelCliente.getInstance(), "Registro inserido com sucesso", "Novo", JOptionPane.INFORMATION_MESSAGE);
                } else {
                    JOptionPane.showMessageDialog(PanelCliente.getInstance(), "Erro na inserção do registro", "Erro", JOptionPane.ERROR_MESSAGE);
                }
            }

            ClienteDAO clienteDAO = new ClienteDAO();
            int selectedRow = this.jTable.getSelectedRow();

            ((PagingModel) jTable.getModel()).getDataVector().removeAllElements();
            ((PagingModel) jTable.getModel()).fireTableDataChanged();

            for (Cliente clientes : clienteDAO.findAll()) {
                ((PagingModel) jTable.getModel()).addRow(new Object[]{"" + clientes.getIdcliente() + "",
                            "" + clientes.getNome() + "",
                            clientes.getIdbairro(),
                            clientes.getIdcidade(),
                            "" + clientes.getSaldoDevedor()});
            }


            ((PagingModel) jTable.getModel()).fireTableDataChanged();
            this.jTable.setRowSelectionInterval(selectedRow, selectedRow);
            ((GridDetalhe) this.jTable).scrollToVisible(this.jTable, selectedRow, selectedRow);

        } catch (IOException ex) {
            JOptionPane.showMessageDialog(PanelCliente.getInstance(), ex.getMessage(), "Atenção", JOptionPane.WARNING_MESSAGE);
        }

    }

private void jButtonNovoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonNovoActionPerformed
// TODO add your handling code here:
    desabilitaHabilitaBotoes(0, 0, 1, 1, 0, 0);

    ArrayList<Component> componentes = this.masterForm.allComponentes();
    for (Component componente : componentes) {
        componente.setEnabled(true);
    }

    Object object[] = null;
    if (this.masterForm instanceof MasterFormCidade) {
        object = new Object[]{"", "",};
    }
    if (this.masterForm instanceof MasterFormBairro) {
        object = new Object[]{"", "", ""};
    }
    if (this.masterForm instanceof MasterFormCliente) {
        object = new Object[]{"", "", "", "", ""};
    }

    ((PagingModel) this.jTable.getModel()).addRow(object);
    this.jTable.setRowSelectionInterval(this.jTable.getRowCount() - 1, this.jTable.getRowCount() - 1);
    ((GridDetalhe) this.jTable).scrollToVisible(this.jTable, this.jTable.getRowCount() - 1, this.jTable.getRowCount() - 1);
    ((PagingModel) this.jTable.getModel()).setEditavel(true);



}//GEN-LAST:event_jButtonNovoActionPerformed

    public void desabilitaHabilitaBotoes(int novo, int editar, int gravar, int cancelar, int excluir, int pesquisar) {
        if (novo == 1) {
            this.jButtonNovo.setEnabled(true);
        } else {
            this.jButtonNovo.setEnabled(false);
        }

        if (editar == 1) {
            this.jButtonEditar.setEnabled(true);
        } else {
            this.jButtonEditar.setEnabled(false);
        }

        if (gravar == 1) {
            this.jButtonGravar.setEnabled(true);
        } else {
            this.jButtonGravar.setEnabled(false);
        }

        if (cancelar == 1) {
            this.jButtonCancelar.setEnabled(true);
        } else {
            this.jButtonCancelar.setEnabled(false);
        }

        if (excluir == 1) {
            this.jButtonExcluir.setEnabled(true);
        } else {
            this.jButtonExcluir.setEnabled(false);
        }

        if (pesquisar == 1) {
            this.jButtonPesquisar.setEnabled(true);
        } else {
            this.jButtonPesquisar.setEnabled(false);
        }



    }

private void jButtonEditarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonEditarActionPerformed

    desabilitaHabilitaBotoes(0, 0, 1, 1, 0, 0);

    this.jTable.isCellEditable(this.jTable.getSelectedRow(), jTable.getModel().getColumnCount() - 1);
    ((PagingModel) this.jTable.getModel()).setEditavel(true);

    ArrayList<Component> componentes = this.masterForm.allComponentes();

    for (Component componente : componentes) {
        componente.setEnabled(true);
    }



}//GEN-LAST:event_jButtonEditarActionPerformed

private void jButtonExcluirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonExcluirActionPerformed
// TODO add your handling code here:
    boolean removido = false;
    if (JOptionPane.showConfirmDialog(PanelBairro.getInstance(),
            "Deseja realmente remover este registro?",
            "Excluir",
            JOptionPane.YES_NO_CANCEL_OPTION) == JOptionPane.OK_OPTION) {
        int selectedRow = (this.jTable.getSelectedRows())[0];
        int id = Integer.parseInt((String) jTable.getValueAt(selectedRow, 0));

        if (this.masterForm instanceof MasterFormBairro) {
            BairroServico reg = new BairroServico();
            if (reg.remover(id)) {
                ((PagingModel) jTable.getModel()).fireTableDataChanged();
                ((PagingModel) jTable.getModel()).removeRow(selectedRow);
                JOptionPane.showMessageDialog(PanelBairro.getInstance(), "Removido com sucesso");
                nextRegistro();


            } else {
                JOptionPane.showMessageDialog(PanelCidade.getInstance(), "Registro não foi removido", "Errro", JOptionPane.ERROR_MESSAGE);
            }
        }
        if (this.masterForm instanceof MasterFormCidade) {
            CidadeServico reg = new CidadeServico();
            if (reg.remover(id)) {
                ((PagingModel) jTable.getModel()).fireTableDataChanged();
                ((PagingModel) jTable.getModel()).removeRow(selectedRow);
                JOptionPane.showMessageDialog(PanelBairro.getInstance(), "Removido com sucesso");
                nextRegistro();
            } else {
                JOptionPane.showMessageDialog(PanelBairro.getInstance(), "Registro não foi removido", "Errro", JOptionPane.ERROR_MESSAGE);
            }
        }

        if (this.masterForm instanceof MasterFormCliente) {
            ClienteServico reg = new ClienteServico();
            if (reg.remover(id)) {
                ((PagingModel) jTable.getModel()).fireTableDataChanged();
                ((PagingModel) jTable.getModel()).removeRow(selectedRow);
                JOptionPane.showMessageDialog(PanelBairro.getInstance(), "Removido com sucesso");
                nextRegistro();
            } else {
                JOptionPane.showMessageDialog(PanelBairro.getInstance(), "Registro não foi removido", "Errro", JOptionPane.ERROR_MESSAGE);
            }
        }



    }
}//GEN-LAST:event_jButtonExcluirActionPerformed

private void jButtonCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCancelarActionPerformed
// TODO add your handling code here:
    desabilitaHabilitaBotoes(1, 1, 0, 0, 1, 1);

    PagingModel pm = ((PagingModel) this.jTable.getModel());

    ((GridDetalhe) this.jTable).verificaAlteracao();

    BairroDAO bairroDAO = new BairroDAO();
    for (Bairro bairro : bairroDAO.findAll()) {
        pm.addRow(
                new Object[]{"" + bairro.getIdbairro() + "",
                    "" + bairro.getDescricao() + "",
                    bairro.getIdcidade()});
    }
    //this.jTable.setModel(pm);        
    ((PagingModel) this.jTable.getModel()).fireTableDataChanged();
}//GEN-LAST:event_jButtonCancelarActionPerformed
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButtonCancelar;
    private javax.swing.JButton jButtonEditar;
    private javax.swing.JButton jButtonExcluir;
    private javax.swing.JButton jButtonGravar;
    private javax.swing.JButton jButtonNovo;
    private javax.swing.JButton jButtonPesquisar;
    private javax.swing.JButton jButtonPrimeiro;
    private javax.swing.JButton jButtonProximo;
    private javax.swing.JButton jButtonUltimo;
    // End of variables declaration//GEN-END:variables
}
